1. Technical Field
Exemplary embodiments relate to a method of programming data and/or a method of reading data in a flash memory device. More particularly, exemplary embodiments relate to a method of programming data and/or a method of reading data in a flash memory device adapted to store multi-bit data.
2. Description of the Related Art
A semiconductor memory device may be a storage device that stores data. The data may be read from the semiconductor memory device, if necessary. In each memory cell of the semiconductor device, the semiconductor memory device may store data as logic “0” or logic “1.” Such semiconductor memory devices may be classified as a non-volatile memory device that maintains stored data when power is off or a volatile memory device that loses stored data when power is off.
Non-volatile memory devices may include, e.g., a flash memory device. The flash memory device is an electrically erasable and programmable read only memory (EEPROM), in which stored data may be electrically erased and new data may be reprogrammed. Generally, such data may be erased and programmed in large blocks. EEPROM may be used for a computer, a digital camera, an MP3 player, a game system, a memory stick, etc.
Flash memory devices may generally be classified according to a configuration of a memory cell array into, e.g., NAND flash memory devices, NOR flash memory devices, etc. In NAND flash memory devices, cell transistors may be coupled in parallel between a bitline and a ground electrode. In NOR flash memory devices, cell transistors may be serially coupled between a bitline and a ground electrode. A NAND flash memory device generally has higher programming and erasing speeds than a NOR flash memory device, but is not adapted to provide access per byte during reading and programming operations.
A cell array of the flash memory device includes a plurality of memory cells coupled to wordlines and bitlines. The wordlines may be driven by a column decoder and the bitlines may be driven by a page buffer. Each of the memory cells may store one-bit data, such as logic “0” or logic “1”. A method of storing multi-bit data in a memory cell has been developed, which increases storage capacity without increasing a size of the memory device. The memory cell may have one of multiple states according to the stored multi-bit data. Such multi-state memory cells are generally referred to as a multi-level cell (MLC). For example, when two bits may be stored in a single MLC, the MLC has four states “11”, “10”, “01” and “00” according to a threshold voltage of a cell transistor. For example, when three bits are stored in a single MLC, the MLC has eight states “000”, “100”, “010”, “110”, “001”, “101”, “011” and “111” according to a threshold voltage of a cell transistor. That is, for storing three-bit data, a threshold voltage of each memory cell requires eight distinct distributions.
A NAND flash memory device having MLCs may have a narrower range of threshold voltage for discriminating data among the multiple states as compared to a NAND flash memory device having single level cells (SLCs). Thus, such NAND flash memory devices including MLCs may have a higher probability of data in a cell being changed, when a threshold voltage of the cell is slightly changed due to external noise and/or coupling interference with adjacent cells. Thus, in NAND flash memory devices including MLCs, it is highly important to program data into each cell while reducing external noise and interference.
In addition, when such NAND flash memory devices including MLCs are programmed, gaps of the threshold voltage distributions of each memory are generally very narrow. Thus, ideally, when a selected cell is programmed, a cell adjacent to the selected cell should not be influenced.
However, when a size of each memory cell of the NAND flash memory device having MLCs is reduced, interference between adjacent cells may increase. Thus, storing multi-bit data into each memory cell may be difficult. Improved methods for implementing NAND flash memory devices, and, more particularly, programming and/or reading data to/from such NAND flash memory devices including MLCs are required.